<!-- 封装商品列表组件 方法组件的复用 只需要传递要遍历的数据就好 谁使用谁传递 -->
<template>
	<view class="goods_list">
		<!-- 子组件传递父组件事件  -->
		<view @click="navigator(item.id)" class="goods_item" v-for="item in goods" :key="item.id">
			<!-- 图片 三目不用加{}直接判断 :src="true?imgs:item.img_url"-->
			<image :src="item.img_url"></image>
			<!-- 价格 -->
			<view class="price">
				<text>￥{{item.sell_price}}</text>
				<text>￥{{item.market_price}}</text>
			</view>
			<!-- 文本 -->
			<view class="name">
				{{item.title}}
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		props: ['goods'],
		data() {
			return {

			}
		},
		methods: {
			//子组件分发事件出去
			navigator(id) {
				this.$emit('goodsItemClick', id)
			}
		}
	}
</script>

<style lang="scss">
	.goods_list {
		padding: 0 15rpx;
		display: flex;
		flex-wrap: wrap; //换行
		justify-content: space-between; //左右两边紧贴 中间空格

		.goods_item {
			background: #fff;
			width: 355rpx; //750平分2个 之后在留点外边距
			margin: 10rpx 0;
			padding: 15rpx;
			box-sizing: border-box; //不加盒子就会撑大了 告诉浏览器 边框内边距算在了宽度内 也就是不算内和边距

			image {
				width: 80%;
				height: 150px;
				display: block; //不加的无法居中图片 因为是内联 要设置块元素才行 不然无法设置宽高内联元素
				margin: auto;
			}

			.price {
				color: $shop-color;
				font-size: 36rpx;
				margin: 20rpx 0 5rpx 0;

				text:nth-child(2) {
					//第二个价格文字 css3的语法
					color: #ccc;
					font-size: 28rpx;
					margin-left: 17rpx;
					text-decoration: line-through; //规定文本的中间将显示一条线。 text-decoration-line 属性规定文本修饰要使用的线条类型。 这个是简写
				}
			}

			.name {
				font-size: 28rpx;
				line-height: 50rpx;
				padding-bottom: 15rpx;
				padding-top: 10rpx;
			}
		}
	}
</style>
